(component
  (type (;0;)
    (instance
      (export (;0;) "a" (type (sub resource)))
    )
  )
  (import "host-a" (instance (;0;) (type 0)))
  (alias export 0 "a" (type (;1;)))
  (type (;2;)
    (instance
      (alias outer 1 1 (type (;0;)))
      (export (;1;) "b" (type (eq 0)))
    )
  )
  (import "host-b" (instance (;1;) (type 2)))
  (component (;0;)
    (type (;0;)
      (instance
        (export (;0;) "a" (type (sub resource)))
      )
    )
    (import "host-a" (instance $i (;0;) (type 0)))
    (alias export $i "a" (type $a (;1;)))
    (type (;2;)
      (instance
        (alias outer 1 $a (type (;0;)))
        (export (;1;) "b" (type (eq 0)))
      )
    )
    (import "host-b" (instance (;1;) (type 2)))
    (type (;3;)
      (instance)
    )
    (import "b" (instance (;2;) (type 3)))
  )
  (component (;1;))
  (instance (;2;) (instantiate 1))
  (instance (;3;) (instantiate 0
      (with "b" (instance 2))
      (with "host-a" (instance 0))
      (with "host-b" (instance 1))
    )
  )
)
